package org.example.oop.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * org.example.oop.annotation
 *
 * @author moLei
 * @description 自定义注解
 *      元注解：
 *          Target:用于注解描述的使用范围
 *          Retention：表示需要在什么级别保持该注解信息，用于描述注解的生命周期（source < class < runtime）
 *          Document：说明该注解被包含在javadoc中
 *          Inherited：说明子类可以继承父类中的该注解
 * @date 2025/7/7
 */
@Target(value = {ElementType.METHOD, ElementType.FIELD})
@Retention(value = RetentionPolicy.RUNTIME )
public @interface TestAnnotationDemo {

    /**
     * 注解传入的值
     */
    String value();

    /**
     * 注解传入的名称数组
     */
    String[] names();
}
